#include "RotateCounter.h"
#include "main.h"
#include "Moto.h"
#include "OLED.h"

extern int speed_percentage;

void Rotate_EXTI_Callback()
{
    if (__HAL_GPIO_EXTI_GET_IT(Encoder_B_Pin) != 0x00u)
    {
        if(HAL_GPIO_ReadPin(Encoder_A_GPIO_Port, Encoder_A_Pin) == RESET)
        {
            if (speed_percentage < 100)
            {
                speed_percentage++;
                Set_Moto_Speed(speed_percentage);
            }
        }
    }
    else if (__HAL_GPIO_EXTI_GET_IT(Encoder_A_Pin) != 0x00u)
    {
        if (HAL_GPIO_ReadPin(Encoder_B_GPIO_Port, Encoder_B_Pin) == RESET)
        {
            if (speed_percentage > 0)
            {
                speed_percentage--;
                Set_Moto_Speed(speed_percentage);
            }
        }
    }
}
